#ifndef PAGE_H
#define PAGE_H

#include <string>
#include <vector>
#include <memory>
#include "Item.h"
namespace AbsFactory
{
    class Page
    {
    protected:
        std::string title;
        std::string author;
        std::vector<std::shared_ptr<AbsFactory::Item>> content;
    public:
        Page(std::string title, std::string author)
            : title(title), author(author){}
        
        void add(const std::shared_ptr<AbsFactory::Item> item);

        void output();

        virtual std::string makeHTML() const = 0;
    };
};

#endif // PAGE_H